package com.xhai.common.constant;

import io.swagger.v3.oas.annotations.media.Schema;

/**
 * @author xhai
 * @description 数据常量
 * @date 2025/5/26
 */
@Schema(description = "数据常量")
public class DataConstants {
    /**
     ******************状态**********************
     * 停用:0
     * 正常:1
     */
    /**
     * 停用
     */
    @Schema(description = "停用")
    public static final Character STATUS_UNUSED = '0';
    /**
     * 正常
     */
    @Schema(description = "正常")
    public static final Character STATUS_NORMAL = '1';
    /**
     ******************逻辑删除标志**********************
     * 未删除:0
     * 已删除:1
     */
    /**
     * 未删除
     */
    @Schema(description = "未删除")
    public static final Character LOGIC_DEL_FLAG_NORMAL = '0';
    /**
     * 已删除
     */
    @Schema(description = "已删除")
    public static final Character LOGIC_DEL_FLAG_DELETE = '1';
    /**
     ******************用户类型**********************
     * 系统用户:00
     * 普通注册用户:01
     */
    /**
     * 系统用户
     */
    @Schema(description = "系统用户")
    public static final String SYS_USER_TYPE_SYSTEM = "00";
    /**
     * 普通注册用户
     */
    @Schema(description = "普通注册用户")
    public static final String SYS_USER_TYPE_REGISTER = "01";
    /**
     ******************数据权限范围**********************
     * 全部数据权限:1
     * 自定数据权限:2
     * 本部门数据权限:3
     * 本部门及以下数据权限:4
     * 仅本人数据权限:5
     */
    /**
     * 全部数据权限
     */
    @Schema(description = "全部数据权限")
    public static final String SYS_ROLE_DATA_SCOPE_ALL = "1";
    /**
     * 自定数据权限
     */
    @Schema(description = "自定数据权限")
    public static final String SYS_ROLE_DATA_SCOPE_CUSTOMIZE = "2";
    /**
     * 本部门数据权限
     */
    @Schema(description = "本部门数据权限")
    public static final String SYS_ROLE_DATA_SCOPE_DEPT = "3";
    /**
     * 本部门及以下数据权限
     */
    @Schema(description = "本部门及以下数据权限")
    public static final String SYS_ROLE_DATA_SCOPE_DEPT_LOWER = "4";
    /**
     * 仅本人数据权限
     */
    @Schema(description = "仅本人数据权限")
    public static final String SYS_ROLE_DATA_SCOPE_PERSONAL = "5";
    /**
     ******************资源类型**********************
     * 目录:C
     * 菜单:M
     * 按钮:B
     */
    /**
     * 目录
     */
    @Schema(description = "目录")
    public static final String SYS_RESOURCE_TYPE_CATALOGUE = "C";
    /**
     * 菜单
     */
    @Schema(description = "菜单")
    public static final String SYS_RESOURCE_TYPE_MENU = "M";
    /**
     * 按钮
     */
    @Schema(description = "按钮")
    public static final String SYS_RESOURCE_TYPE_BUTTON = "B";
    /**
     ******************权限请求打开方式**********************
     * 当前页签:CURRENT_TAB
     * 新窗口:NEW_BLANK
     */
    /**
     * 当前页签
     */
    @Schema(description = "当前页签")
    public static final String SYS_PERM_OPEN_TARGET_CURRENT_TAB = "CURRENT_TAB";
    /**
     * 新窗口
     */
    @Schema(description = "新窗口")
    public static final String SYS_PERM_OPEN_TARGET_NEW_BLANK = "NEW_BLANK";
    /**
     ******************参数类型**********************
     * 系统参数:SYSTEM
     * 普通参数:COMMON
     * 业务参数:BUSINESS
     */
    /**
     * 系统参数
     */
    @Schema(description = "系统参数")
    public static final String SYS_CONFIG_TYPE_SYSTEM = "SYSTEM";
    /**
     * 普通参数
     */
    @Schema(description = "普通参数")
    public static final String SYS_CONFIG_TYPE_COMMON = "COMMON";
    /**
     * 业务参数
     */
    @Schema(description = "业务参数")
    public static final String SYS_CONFIG_TYPE_BUSINESS = "BUSINESS";
}
